home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / tools / ldbmp08 / ldbmp08s.lzh / TONEDOWN.S < prev    next >
Text File  |  1996-04-07  |  2KB  |  111 lines

  1. *********************************************************************************
  2. *    トーンの変更                                *
  3. *********************************************************************************
  4.  
  5.     .include    doscall.mac
  6.     .include    iocscall.mac
  7.     .include    myconst.h
  8.  
  9.     .xdef    _Tone_up
  10.     .xdef    _Tone_down
  11.  
  12.     .xref    v_wait
  13.  
  14. *****************************************************************
  15. *    トーン戻す                        *
  16. *****************************************************************
  17. _Tone_up:
  18.     movem.l    d1/a1-a2,-(sp)
  19.     move.l    #$e82400,a1        *色モードを調べる
  20.     move.w    (a1),d1
  21.     andi.w    #$0003,d1
  22.     cmp.w    #1,d1
  23.     bcs    up16
  24.     beq    up256
  25.     bra    up64k
  26. up16:
  27.     move.w    #16/2-1,d1
  28.     bsr    pal_up
  29.     bra    tone_up9
  30. up256:
  31.     move.w    #256/2-1,d1
  32.     bsr    pal_up
  33.     bra    tone_up9
  34. up64k:
  35.     move.l    #$e82600,a1
  36.     andi.w    #$00ff,(a1)        *半透明オフ
  37. *    bra    tone_up9
  38. tone_up9:
  39.     movem.l    (sp)+,d1/a1-a2
  40.     rts
  41.  
  42. pal_up:
  43.     bsr    v_wait
  44.  
  45.     lea.l    gpal_buff(pc),a1
  46.     movea.l    #GPAL,a2
  47. pal_up1:
  48.     move.l    (a1)+,(a2)+
  49.     dbra.w    d1,pal_up1
  50.     rts
  51.  
  52. *****************************************************************
  53. *    トーン落とし                        *
  54. *****************************************************************
  55. _Tone_down:
  56.     movem.l    d1-d7/a1-a2,-(sp)
  57.     move.l    #$e82400,a1        *色モードを調べる
  58.     move.w    (a1),d1
  59.     andi.w    #$0003,d1
  60.     cmp.w    #1,d1
  61.     bcs    down16
  62.     beq    down256
  63.     bra    down64k
  64. down16:
  65.     move.w    #16-1,d1
  66.     bsr    pal_down
  67.     bra    tone_down9
  68. down256:
  69.     move.w    #256-1,d1
  70.     bsr    pal_down
  71.     bra    tone_down9
  72. down64k:
  73.     move.l    #$e82600,a1
  74.     ori.w    #$1b00,(a1)        *半透明オン(参考:JPEGED.R)
  75. *    bra    tone_down9
  76. tone_down9:
  77.     movem.l    (sp)+,d1-d7/a1-a2
  78.     rts
  79.  
  80. pal_down:
  81.     movea.l    #GPAL,a1
  82.     lea.l    gpal_buff(pc),a2
  83.     move.w    #%0000_0000_0011_1100,d5
  84.     move.w    #%0000_0111_1000_0000,d6
  85.     move.w    #%1111_0000_0000_0000,d7
  86. pal_down1:
  87.     move.w    (a1),d2
  88.     move.w    d2,(a2)+
  89.     move.w    d2,d3
  90.     move.w    d2,d4
  91.     and.w    d5,d2
  92.     and.w    d6,d3
  93.     and.w    d7,d4
  94.     lsr.w    #1,d2
  95.     lsr.w    #1,d3
  96.     lsr.w    #1,d4
  97.     or.w    d3,d2
  98.     or.w    d4,d2
  99.     move.w    d2,(a1)+
  100.     dbra.w    d1,pal_down1
  101.     rts
  102.  
  103. *****************************************************************
  104. *    ワークエリア                        *
  105. *****************************************************************
  106.     .bss
  107.     .even
  108. gpal_buff:
  109.     .ds.w    256
  110.     .even
  111.